/*

=======================================================================

      Srcipt for repairing Armadillo's IAT Elimination feature

=======================================================================



This script should help you to rebuild IAT on targets protected

with Armadillo's IAT Eliminator feature. You will need to modify

some parts of script to work on your file. First you need to unpack

your file, and prevent common import redirection and then use this

script after you found OEP. Read my comments below.

=======================================================================

*/



var code        //Code section is one that holds your code.

var NewPointer  //Base address of new section where thunks will be placed (use some armadillo's).

var OldPointer

var Import



ask "Enter base address of code section:" //Ask user to enter base of code section:

cmp $RESULT,0

je  exit

mov code,$RESULT



ask "Enter address of new section for imports:" //Ask user to enter base of new IAT section:

cmp $RESULT,0

je  exit

mov NewPointer,$RESULT









searching:

findop code,#FF15????A900# //Find calls that points to 00A90000 section. You need to change this.

cmp $RESULT,0

je exit



mov code,$RESULT           //Caclulations.

add $RESULT,2

mov OldPointer,[$RESULT]

mov Import,[OldPointer]

mov [NewPointer],Import

mov [$RESULT],NewPointer

add NewPointer,8



jmp searching











exit:

ret



























